# Aula 4: Analises exploratorias

################
#Exercicio 4.2 #
################

#Dados:
cervejas <-c("chope","lata","garrafa","chope","garrafa", "garrafa","lata","lata","nenhuma","lata","garrafa","garrafa", "garrafa","lata","lata","lata","garrafa","lata","chope","nenhuma", "garrafa","garrafa","garrafa","chope","garrafa","garrafa","chope","garrafa","lata","lata")

#Estrutura dos dados
class(cervejas)
length(cervejas)
summary(cervejas)
str(cervejas)
unique(cervejas)

#Transformando os dados em fator:
cervejas.f = factor(cervejas, levels = c("nenhuma", "chope", "lata", "garrafa"))
cervejas.f

#1) Montar um grafico de barras
help("barplot")
barplot(table(cervejas), main = "Preferencia de cervejas por estudantes", xlab = "Tipos de cervejas", ylab = "Numero de entrevistados", col = "orange")
help("dotchart")
dotchart(table(cervejas), main = "Preferencia de cervejas por estudantes", xlab = "Tipos de cervejas", ylab = "Numero de entrevistados")

#2) Qual tem maior razao dado por tinta?

# Os grficos feitos com os comandos "barplot" e "dortchart" transmitem a mesma informao ao leitor. Entretanto, o "dortchart" apresenta um menor uso de tinta, possuindo maior razao de informacoes por uso de tinta. 

############################
#Ecercicio 4.3 - Caixetais #
############################

help("read.csv")
#Lendo os dados
cax=read.csv("caixeta.csv")
cax

summary(cax)
length(cax)
class(cax)
head(cax)
str(cax)
unique(cax)
unique(cax$especie)

#Arrumando erro de digitacao do nome da especie:
caixeta[which(caixeta$especie=="Callophyllum brasiliensis"),"especie"] = "Calophyllum brasiliensis"

# Conferindo a mudanca
unique(caixeta$especie)

#Formulas para o calculo do DAP:
#DAP=2*r
#cap=2*pi*r --> logo, r=cap/2*pi
#DAP=2*(cap/2*pi) --> DAP=cap/pi

dap = cax$cap/pi

#Conferindo a criacao da coluna com os dados do DAP no data frame
head(cax)

# 1) Histograma do dap
hist(dap, main="Histograma do DAP das fustes de caixetais", xlab= "DAP (cm)", ylab = "Frequencia" )

# 2) Histogramas da altura das rvores para os diferentes caixetais ('local')
cax$local<-as.factor(cax$local)
chauas1<-subset(cax, local=="chauas") 
chauas1
jureia1<-subset(cax, local=="jureia") 
retiro1<-subset(cax, local=="retiro")
par(mfrow=c(1,3))
hist(chauas1$h)###Distribuio assimtrica
hist(jureia1$h)###Distribuio normal
hist(retiro1$h)###Distribuio bimodal

# 3) H diferenas entre as alturas dos caixetais?
#Atravs dos histogramas, pode-se notar que a estrutura dos dados da Jureia e a que melhor se assemelha a uma distribuicao normal.Enquanto o local Retiro tem aspecto bimodal.



############################
#Exercicio 4.4 Eucaliptos #
###########################

# Lendo os dados
egrandis=read.csv("egrandis.csv", header = T, sep=";", dec=".", as.is=T)
str(egrandis)
head(egrandis)
summary(egrandis)

#Conferindo a tabela, se nao ha erros
unique(egrandis$especie)
unique(egrandis$regiao)
unique(egrandis$ano)
unique(egrandis$rotacao)

# 1) Boxplot
?boxplot
boxplot(egrandis$dap~egrandis$regiao, data=egrandis)
boxplot(egrandis$dap~egrandis$rotacao, data=egrandis)

str(egrandis)
boxplot(egrandis$dap~egrandis$regiao+egrandis$rotacao, dados=egrandis)

# 2) Avalie a normalidade da altura do conjunto total de rvores com um grfico quantil-quantil contra a distribuio normal.
qqnorm(egrandis$ht)
qqline(egrandis$ht)

# A altura das arvores nao obedece uma distribuicao normal. E ainda h um desvio da curva entre o observado e o esperado.


################################
#Exercicio 4.5 Mais Caixetais  #
################################

caixeta <- read.csv("caixeta.csv", as.is=T)
names(caixeta)
head(caixeta)
str(caixeta)
unique(caixeta$especie)

#Alterando o nome da especie que foi escrito errado
caixeta[which(caixeta$especie=="Callophyllum brasiliensis"),"especie"]<-"Calophyllum brasiliensis" 

# 1. Analise a relação dap-altura ('dap' e 'h') em função do caixetal (local) com a função plot, mas somente para as árvores de caixeta (Tabebuia cassinoides).

#Calculo do DAP
caixeta$dap<-(caixeta$cap/pi)

#Verificacao de entrada dos dados DAP
head(caixeta)
tabcas<-subset(caixeta,especie=="Tabebuia cassinoides")
str(tabcas)
tabcas$arvore<-as.factor(tabcas$arvore)

#Calculo da area basal de cada fuste
tabcas$areafustes<-(tabcas$cap^2*pi)/4

head(tabcas)
#Altura media por arvore
areaarvoresAlt<-aggregate(tabcas$h,by=list(Local=tabcas$local,Arvore=tabcas$arvore),mean)
arvore_local<-aggregate(tabcas$areafustes,by=list(Local=tabcas$local,Arvore=tabcas$arvore),sum)

#Calculo da area basal de cada fuste
arvore_local$DAP<-sqrt(4*arvore_local$x/pi)


colnames(areaarvoresAlt)<-c("a","b", "Alt")
arvore_local$Alt<-areaarvoresAlt$Alt
colnames(arvore_local)<-c("Local", "Arvore", "Areafustes", "DAP", "Alt")
head(arvore_local)

grchauas<-subset(arvore_local, arvore_local$Local=="chauas")
grjureia<-subset(arvore_local, arvore_local$Local=="jureia")
grretiro<-subset(arvore_local, arvore_local$Local=="retiro")

par(mfrow=c(1,3))
plot(grchauas$DAP,grchauas$Alt)
plot(grjureia$DAP,grjureia$Alt)
plot(grretiro$DAP,grretiro$Alt)

#Scatter.smooth
par(mfrow=c(1,3))
scatter.smooth(grchauas$DAP,grchauas$Alt, xlab="DAP", ylab="Alt")
scatter.smooth(grjureia$DAP,grjureia$Alt, xlab="DAP", ylab="Alt")
scatter.smooth(grretiro$DAP,grretiro$Alt, xlab="DAP", ylab="Alt")

#3) relação dap-altura ('dap' e 'h') em função do caixetal (local), mas somente para as árvores de caixeta (Tabebuia cassinoides).
library(lattice)
par(mfrow=c(1,1))
xyplot(arvore_local$DAP~arvore_local$Alt|arvore_local$Local, xlab="DAP", ylab="Alt")










